#include<linux/interrupt.h>
#include<linux/module.h>
MODULE_LICENSE("GPL");
static int irq=3;

static irqreturn_t irq_handler(int data,void *dev_id)
{
	printk("the data is :%d\n",data);
	printk("in the interrupt handler function\n");
	return IRQ_NONE;
}
static int __init disable_irq_nosync_init(void)
{
	int result=0;
	printk("into disable_irq_nosync_init\n");
	result=request_irq(irq,irq_handler,IRQF_DISABLED,"A_NEW_Device",NULL);
	disable_irq_nosync(irq);
	enable_irq(irq);
	printk("the result of the request_irq is:%d\n",result);
	printk("out disable_irq_nosync_init\n");
	return 0;
}
static void __exit disable_irq_nosync_exit(void)
{
	free_irq(irq,NULL);
	printk("Goodbye disable_irq_nosync\n");
	return ;
}
module_init(disable_irq_nosync_init);
module_exit(disable_irq_nosync_exit);
